package qc.common.core.enums.qms;

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * QMS长耗时人工任务类型枚举
 *
 * @author QuCheng Tech
 * @since 2025/10/14
 */
@Getter
@AllArgsConstructor
public enum QmsManualTaskTypeEnum {
    UN_DEFINE(0, "未定义"),
    //人工操作的任务通过任务消息触发，不再重复触发对应的消息
    //原始数据是否需要作为长耗时任务，可以在操作同时完成？
    //如人工进行原始数据处理，通过任务消息直接提取对应的原始数据进行处理，不再通过原始数据消息传递进行处理
    //不采用从原始数据库中查询数据放入MQ进行原始数据处理方式，通过同步执行方式方便前端获取任务执行进度
    PROCESS_RAW_DATA(10, "处理原始数据"),
    CALC_POINT_DATA(20, "计算点号数值"),
    FORWARD_POINT_DATA(60, "转发点号数据"),
    GENERATE_EXPORT_FILE(80, "导出数据"),//生成导出数据的文件，是否与生成统计报表公用同一个类型？
    GENERATE_ARCHIVE_REPORT(90, "生成统计报表"),
    EXTEND(99, "扩展保留");

    @EnumValue
    private int index;
    private String name;

    @Override
    public String toString() {
        if (this != null)
            return this.name;

        return null;
    }
}
